二进制
二进制转8进制，从二进制的右边向左边数三位读取，不足就直接转换，以0开头  --  111 - 7
二进制转16进制，从二进制的右边向左边数四位读取，不足就直接转换，以0x开头 -- 1111 -15

原码、反码、补码
1.整数的2进制表示方法有三种，即原码、反码和补码

2.有符号整数的三种表示方法均有符号位和数值位两部分，
2进制序列中，最高位的1位是被当做符号位，剩余的都是数值位
 
 如:
 int a = -7;
 1 0000000000000000000000000000111  原码
 
 第一位是符号位
 1  --  负数
 0  --  正数

 1 1111111111111111111111111111000   反码

原码的符号位不变，其他位依次按位取反，就可以得到反码

1 1111111111111111111111111111000    补码

反码+1就得到补码


3.符号位都是用0表示“正”，用1表示“负”
4.正整数的原、反、补码都相同
5.负整数的三种表示方法各不相同

6.原码:直接将数值按照正负数的形式翻译成二进制得到的就是原码
7.反码:将原码的符号位不变，其他位依次按位取反就可以得到反码
8.补码:反码+1就得到补码
9.补码得到原码也是可以使用:取反，+1的操作


对于整形来说:数据存放内存中其实存放的是补码

在计算机系统中，数值一律用补码来表示和存储
原因在于，使用补码，可以将符号位和数值域统一处理;
同时，加法和减法也可以统一处理(CPU只有加法器)此外
补码与原码相互转换，其运算过程是相同的，不需要
额外的硬件电路